package com.pt.restaurant_backend_management.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pt.restaurant_backend_management.common.R;
import com.pt.restaurant_backend_management.pojo.po.Category;

import java.util.List;

public interface CategoryService extends IService<Category>{

    /**
     * 新增菜品分类信息
     *
     * @param category 菜品分类数据对象
     * @return 返回通用响应结果，包含操作是否成功的信息
     */
    R<String> saveSortInfo(Category category);

    /**
     * 删除菜品分类信息
     *
     * @param id 菜品分类唯一标识
     * @return 返回通用响应结果，包含操作是否成功的信息
     */
    R<String> deleteSortInfo(Long id);

    /**
     * 分页查询菜品分类信息
     *
     * @param page 当前页码
     * @param pageSize 每页记录数
     * @return 返回分页后的菜品分类数据
     */
    R<Page> pageSortInfo(int page, int pageSize);

    /**
     * 修改菜品分类信息
     *
     * @param category 包含更新内容的菜品分类数据对象
     * @return 返回通用响应结果，包含操作是否成功的信息
     */
    R<String> updateSortInfo(Category category);

    /**
     * 根据条件查询菜品分类列表
     *
     * @param category 查询条件封装对象（如分类名称、类型等）
     * @return 返回符合条件的菜品分类列表
     */
    R<List<Category>> getListInfo(Category category);
}
